home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / COMAL / U-User Group / (k)u1.d64 / shell'sort$.proc < prev    next >
Text File  |  2007-02-28  |  704b  |  28 lines

  1. 9000 //DELETE "0:SHELL'SORT$.L
  2. 9010 //  BY KEVIN QUIGGLE
  3. 9020 //LIST   "@0:SHELL'SORT$.PROC
  4. 9030 //DEL 9000-9090
  5. 9040 //ADAPTED FROM ╙HELL-═ETZNER SORT IN
  6. 9050 //╨ASCAL ╨ROGRAMS FOR ╙CIENTISTS AND ┼NGINEERS
  7. 9060 //  BY ┴LAN ╥. ═ILLER
  8. 9070 //A$() IS THE ARRAY TO BE SORTED
  9. 9080 // N IS THE LENGTH OF A$()
  10. 9090 //DIM TEMP$ TO SAME LENGTH AS ARRAY TO BE SORTED
  11. 9100 PROC SHELL'SORT(REF A$(),N) CLOSED
  12. 9110 DIM TEMP$ OF 16
  13. 9120 JUMP:=N
  14. 9130 WHILE JUMP>1 DO
  15. 9140 JUMP:=JUMP DIV 2
  16. 9150 REPEAT 
  17. 9160 DONE:=TRUE
  18. 9170 FOR J:=1 TO N-JUMP DO
  19. 9180 I:=J+JUMP
  20. 9190 IF A$(J)>A$(I) THEN
  21. 9200 TEMP$:=A$(I); A$(I):=A$(J); A$(J):=TEMP$
  22. 9210 DONE:=FALSE
  23. 9220 ENDIF 
  24. 9230 ENDFOR 
  25. 9240 UNTIL DONE
  26. 9250 ENDWHILE 
  27. 9260 ENDPROC 
  28.